package cn.portx.entity;

import java.util.Collections;
import java.util.Date;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;

import com.bstek.bdf3.dorado.jpa.annotation.Generator;
import com.bstek.dorado.annotation.PropertyDef;

import cn.portx.policy.CreatedDatePolicy;
import cn.portx.policy.OrderNoGeneratorPolicy;

/**
 * Model class of 订单.
 * 
 * @author generated by ERMaster
 * @version $Id$
 */
@Entity
@Table(name = "T_ORDER")
public class Order extends BaseEntity {

	/** serialVersionUID. */
	private static final long serialVersionUID = 1L;

	/** 订单编号. */
	@Column(name = "ORDER_NO_", length = 60)
	@Generator(policy = OrderNoGeneratorPolicy.class)
	@PropertyDef(label = "订单编号", description = "订单编号:订单编号")
	private String orderNo;

	/** 接单日期. */
	@Column(name = "ORDER_DATE_")
	@Generator(policy = CreatedDatePolicy.class)
	@PropertyDef(label = "接单日期", description = "接单日期:接单日期")
	private Date orderDate;

	/** 类型. */
	@Column(name = "TYPE_", length = 1)
	@PropertyDef(label = "类型", description = "类型:类型,0：出口；1：进口")
	private String type;

	/** 客户ID. */
	@Column(name = "CUSTOMER_ID_", length = 60)
	@PropertyDef(label = "客户ID", description = "客户ID")
	private String customerId;

	@Transient
	private Customer customer;

	/** 运输条款. */
	@Column(name = "YSTK_", length = 1)
	@PropertyDef(label = "运输条款", description = "0：门到门;1：港到港；2：堆场到堆场；3：堆场到港；4：港到堆场；")
	private String ystk;

	/** 货名. */
	@Column(name = "GOODS_NAME_", length = 60)
	@PropertyDef(label = "货名", description = "货名:货名")
	private String goodsName;
	
	/** 货重. */
	@Column(name = "HUOZHONG_", length = 60)
	@PropertyDef(label = "货重", description = "货重")
	private Double huozhong;

	/** 箱型. */
	@Column(name = "BOX_TYPE_", length = 3)
	@PropertyDef(label = "箱型", description = "-1：20GP/20'普通箱；0：20RF/20'冷藏箱；1：20OT/20'开顶箱；2：20FR/20'框架箱；3：20TK/20'油罐箱；4：20RH/冷藏高箱；5：20HC/2510/20'高箱9.6；6：20PC/20'平板箱；7：40GP/40'普通箱；8：20VE/20'挂衣箱；9：40VE/40'挂衣箱；10：20HT/20'超高开顶箱；11：40HT/40'超高开顶箱；12：40RF/40'冷藏箱；13：40OT/40'开顶箱；14：40FR/40'框架高箱；15：40FR/40'框架普箱；16：40HC/40'高箱；17：40PC/40'平板箱；18：40HT/40'挂衣高箱；19：40HH/HALF HEIGHT CNTR；20：20OS/OPEN SIDE CONTAINER；21：40RH/冷藏高箱；22：45GP/45'普通箱；23：45HC/45'高箱")
	private String boxType;

	public Double getHuozhong() {
		return huozhong;
	}

	public void setHuozhong(Double huozhong) {
		this.huozhong = huozhong;
	}

	/** 数量. */
	@Column(name = "QUANTITY_", precision = 2, scale = 0)
	@PropertyDef(label = "数量", description = "数量:数量")
	private Integer quantity;

	/** 做箱日期. */
	@Column(name = "ZXRQ_")
	@PropertyDef(label = "做箱日期", description = "做箱日期:做箱日期")
	private Date zxrq;

	/** 订舱日期. */
	@Column(name = "BOOKING_DATE_")
	@PropertyDef(label = "订舱日期", description = "订舱日期:订舱日期")
	private Date bookingDate;

	@Column(name = "CBDL_")
	@PropertyDef(label = "船舶代理")
	private String cbdl;

	public String getCbdl() {
		return cbdl;
	}

	public void setCbdl(String cbdl) {
		this.cbdl = cbdl;
	}

	/** 船公司ID. */
	@Column(name = "SHIPPING_COMPANY_ID_", length = 60)
	@PropertyDef(label = "船公司ID", description = "船公司ID:船公司ID")
	private String shippingCompanyId;

	@Transient
	private ShippingCompany shippingCompany;

	/** 船舶ID. */
	@Column(name = "VESSEL_ID_", length = 60)
	@PropertyDef(label = "船舶ID", description = "船舶ID:船舶ID")
	private String vesselId;

	@Transient
	private Vessel vessel;

	/** 航次. */
	@Column(name = "VOYAGE_", length = 20)
	@PropertyDef(label = "航次", description = "航次:航次")
	private String voyage;

	/** 始发港ID. */
	@Column(name = "START_PORT_ID_", length = 60)
	@PropertyDef(label = "始发港ID", description = "始发港ID:始发港ID")
	private String startPortId;

	@Transient
	private Port startPort;

	/** 目的港ID. */
	@Column(name = "END_PORT_ID_", length = 60)
	@PropertyDef(label = "目的港ID", description = "目的港ID:目的港ID")
	private String endPortId;

	@Transient
	private Port endPort;

	/** 开船时间. */
	@Column(name = "SAIL_DATE_")
	@PropertyDef(label = "开船时间", description = "开船时间:开船时间")
	private Date sailDate;

	/** 到港时间. */
	@Column(name = "ARRIVE_DATE_")
	@PropertyDef(label = "到港时间", description = "到港时间:到港时间")
	private Date arriveDate;

	/** 提单号. */
	@Column(name = "BILL_NO_", length = 60)
	@PropertyDef(label = "提单号", description = "提单号:提单号")
	private String billNo;

	/** 箱号. */
	@Column(name = "CNT_NO_", length = 600)
	@PropertyDef(label = "箱号", description = "箱号:箱号")
	private String cntNo;

	/** 封号. */
	@Column(name = "SEAL_NO_", length = 60)
	@PropertyDef(label = "封号", description = "封号:封号")
	private String sealNo;

	/** 箱属. */
	@Column(name = "XS_ID_", length = 60)
	@PropertyDef(label = "箱属", description = "箱属:箱属")
	private String xsId;

	@Transient
	private Carrier xs;

	/** 码头ID. */
	@Column(name = "WHARF_ID_", length = 60)
	@PropertyDef(label = "码头ID", description = "码头ID:码头ID")
	private String wharfId;

	@Transient
	private Wharf wharf;

	/** 车队ID. */
	@Column(name = "FLEET_ID_", length = 60)
	@PropertyDef(label = "车队ID", description = "车队ID:车队ID")
	private String fleetId;

	@Transient
	private Fleet fleet;

	/** 车辆ID. */
	@Column(name = "CAR_ID_", length = 60)
	@PropertyDef(label = "车辆ID", description = "车辆ID:车辆ID")
	private String carId;

	/** 车牌号. */
	@Column(name = "CAR_NO_", length = 15)
	@PropertyDef(label = "车牌号", description = "车牌号:车牌号")
	private String carNo;

	/** 司机姓名. */
	@Column(name = "DRIVER_NAME_", length = 20)
	@PropertyDef(label = "司机姓名", description = "司机姓名:司机姓名")
	private String driverName;

	/** 联系电话. */
	@Column(name = "DRIVER_TEL_", length = 20)
	@PropertyDef(label = "联系电话", description = "联系电话:联系电话")
	private String driverTel;

	@Transient
	private Car car;

	/** 目的港车队ID. */
	@Column(name = "DEST_FLEET_ID_", length = 60)
	@PropertyDef(label = "目的港车队ID", description = "目的港车队ID:目的港车队ID")
	private String destFleetId;

	@Transient
	private Fleet destFleet;

	/** 目的港车辆ID. */
	@Column(name = "DEST_CAR_ID_", length = 60)
	@PropertyDef(label = "目的港车辆ID", description = "目的港车辆ID:目的港车辆ID")
	private String destCarId;

	/** 车牌号. */
	@Column(name = "DEST_CAR_NO_", length = 15)
	@PropertyDef(label = "车牌号", description = "车牌号:车牌号")
	private String destCarNo;

	/** 司机姓名. */
	@Column(name = "DEST_DRIVER_NAME_", length = 20)
	@PropertyDef(label = "司机姓名", description = "司机姓名:司机姓名")
	private String destDriverName;

	/** 联系电话. */
	@Column(name = "DEST_DRIVER_TEL_", length = 20)
	@PropertyDef(label = "联系电话", description = "联系电话:联系电话")
	private String destDriverTel;

	@Transient
	private Car destCar;

	/** 是否双拖. */
	@Column(name = "SFST_")
	@PropertyDef(label = "是否双拖", description = "是否双拖:是否双拖")
	private Integer sfst;

	/** 提单号2. */
	@Column(name = "BILL_NO2_", length = 60)
	@PropertyDef(label = "提单号2", description = "提单号2:提单号2")
	private String billNo2;

	/** 箱号2. */
	@Column(name = "CNT_NO2_", length = 600)
	@PropertyDef(label = "箱号2", description = "箱号2:箱号2")
	private String cntNo2;

	/** 封号2. */
	@Column(name = "SEAL_NO2_", length = 60)
	@PropertyDef(label = "封号2", description = "封号2:封号2")
	private String sealNo2;

	/** 提箱场站. */
	@Column(name = "TXCZ_", length = 200)
	@PropertyDef(label = "提箱场站", description = "提箱场站:提箱场站")
	private String txcz;

	/** 反箱场站. */
	@Column(name = "FXCZ_", length = 200)
	@PropertyDef(label = "反箱场站", description = "反箱场站:反箱场站")
	private String fxcz;

	/** 是否回单. */
	@Column(name = "SFHD_")
	@PropertyDef(label = "是否回单", description = "是否回单:是否回单")
	private Integer sfhd;

	/** 回单时间. */
	@Column(name = "HD_DATE_")
	@PropertyDef(label = "回单时间", description = "回单时间:回单时间")
	private Date hdDate;

	/** 回单备注. */
	@Column(name = "HD_REMARK_", length = 300)
	@PropertyDef(label = "回单备注", description = "回单备注:回单备注")
	private String hdRemark;

	/** 订单状态. */
	@Column(name = "STATUS_", length = 1)
	@PropertyDef(label = "订单状态", description = "订单状态:订单状态,0：已接单；1：已派车")
	private String status;

	/** 业务完结. */
	@Column(name = "BUS_END_")
	@PropertyDef(label = "业务完结", description = "业务完结:业务完结,0:未完结；1：已完结")
	private Integer busEnd;

	/** 财务完结. */
	@Column(name = "FINANCE_END_")
	@PropertyDef(label = "财务完结", description = "财务完结:财务完结,0:未完结；1：已完结")
	private Integer financeEnd;

	@Column(name = "TARGET_ID_")
	@PropertyDef(label = "拼箱生成的订单ID", description = "拼箱生成的订单ID")
	private String targetId;

	@Column(name = "APPENDED_ID_")
	@PropertyDef(label = "订单ID", description = "被追加费用的订单的ID")
	private String appendedId;

	@Column(name = "BXGS_")
	@PropertyDef(label = "保险公司", description = "保险公司")
	private String bxgs;

	@Transient
	private Order appended;

	@Transient
	private List<OrderSendReceive> orderSend;

	@Transient
	private List<OrderSendReceive> orderReceive;

	@Transient
	private List<OrderExpense> receiveExpense;

	@Transient
	private List<OrderExpense> payExpense;

	@Transient
	private List<OrderExpense> costExpense;

	/**
	 * Constructor.
	 */
	public Order() {
	}

	/**
	 * Set the 订单编号.
	 * 
	 * @param orderNo
	 *            订单编号
	 */
	public void setOrderNo(String orderNo) {
		this.orderNo = orderNo;
	}

	/**
	 * Get the 订单编号.
	 * 
	 * @return 订单编号
	 */
	public String getOrderNo() {
		return this.orderNo;
	}

	/**
	 * Set the 接单日期.
	 * 
	 * @param orderDate
	 *            接单日期
	 */
	public void setOrderDate(Date orderDate) {
		this.orderDate = orderDate;
	}

	/**
	 * Get the 接单日期.
	 * 
	 * @return 接单日期
	 */
	public Date getOrderDate() {
		return this.orderDate;
	}

	/**
	 * Set the 类型.
	 * 
	 * @param type
	 *            类型
	 */
	public void setType(String type) {
		this.type = type;
	}

	/**
	 * Get the 类型.
	 * 
	 * @return 类型
	 */
	public String getType() {
		return this.type;
	}

	/**
	 * Set the 客户ID.
	 * 
	 * @param cusId
	 *            客户ID
	 */
	public void setCustomerId(String customerId) {
		this.customerId = customerId;
	}

	/**
	 * Get the 客户ID.
	 * 
	 * @return 客户ID
	 */
	public String getCustomerId() {
		return this.customerId;
	}

	public Customer getCustomer() {
		return customer;
	}

	public void setCustomer(Customer customer) {
		this.customer = customer;
	}

	/**
	 * Set the 运输条款.
	 * 
	 * @param ystk
	 *            运输条款
	 */
	public void setYstk(String ystk) {
		this.ystk = ystk;
	}

	/**
	 * Get the 运输条款.
	 * 
	 * @return 运输条款
	 */
	public String getYstk() {
		return this.ystk;
	}

	/**
	 * Set the 货名.
	 * 
	 * @param goodsName
	 *            货名
	 */
	public void setGoodsName(String goodsName) {
		this.goodsName = goodsName;
	}

	/**
	 * Get the 货名.
	 * 
	 * @return 货名
	 */
	public String getGoodsName() {
		return this.goodsName;
	}

	/**
	 * Set the 箱型.
	 * 
	 * @param boxType
	 *            箱型
	 */
	public void setBoxType(String boxType) {
		this.boxType = boxType;
	}

	/**
	 * Get the 箱型.
	 * 
	 * @return 箱型
	 */
	public String getBoxType() {
		return this.boxType;
	}

	/**
	 * Set the 数量.
	 * 
	 * @param quantity
	 *            数量
	 */
	public void setQuantity(Integer quantity) {
		this.quantity = quantity;
	}

	/**
	 * Get the 数量.
	 * 
	 * @return 数量
	 */
	public Integer getQuantity() {
		return this.quantity;
	}

	/**
	 * Set the 做箱日期.
	 * 
	 * @param zxrq
	 *            做箱日期
	 */
	public void setZxrq(Date zxrq) {
		this.zxrq = zxrq;
	}

	/**
	 * Get the 做箱日期.
	 * 
	 * @return 做箱日期
	 */
	public Date getZxrq() {
		return this.zxrq;
	}

	/**
	 * Set the 订舱日期.
	 * 
	 * @param bookingDate
	 *            订舱日期
	 */
	public void setBookingDate(Date bookingDate) {
		this.bookingDate = bookingDate;
	}

	/**
	 * Get the 订舱日期.
	 * 
	 * @return 订舱日期
	 */
	public Date getBookingDate() {
		return this.bookingDate;
	}

	/**
	 * Set the 船公司ID.
	 * 
	 * @param shippingCompanyId
	 *            船公司ID
	 */
	public void setShippingCompanyId(String shippingCompanyId) {
		this.shippingCompanyId = shippingCompanyId;
	}

	/**
	 * Get the 船公司ID.
	 * 
	 * @return 船公司ID
	 */
	public String getShippingCompanyId() {
		return this.shippingCompanyId;
	}

	public ShippingCompany getShippingCompany() {
		return shippingCompany;
	}

	public void setShippingCompany(ShippingCompany shippingCompany) {
		this.shippingCompany = shippingCompany;
	}

	/**
	 * Set the 船舶ID.
	 * 
	 * @param vesselId
	 *            船舶ID
	 */
	public void setVesselId(String vesselId) {
		this.vesselId = vesselId;
	}

	/**
	 * Get the 船舶ID.
	 * 
	 * @return 船舶ID
	 */
	public String getVesselId() {
		return this.vesselId;
	}

	public Vessel getVessel() {
		return vessel;
	}

	public void setVessel(Vessel vessel) {
		this.vessel = vessel;
	}

	/**
	 * Set the 航次.
	 * 
	 * @param voyage
	 *            航次
	 */
	public void setVoyage(String voyage) {
		this.voyage = voyage;
	}

	/**
	 * Get the 航次.
	 * 
	 * @return 航次
	 */
	public String getVoyage() {
		return this.voyage;
	}

	/**
	 * Set the 始发港ID.
	 * 
	 * @param startPortId
	 *            始发港ID
	 */
	public void setStartPortId(String startPortId) {
		this.startPortId = startPortId;
	}

	/**
	 * Get the 始发港ID.
	 * 
	 * @return 始发港ID
	 */
	public String getStartPortId() {
		return this.startPortId;
	}

	/**
	 * Set the 目的港ID.
	 * 
	 * @param endPortId
	 *            目的港ID
	 */
	public void setEndPortId(String endPortId) {
		this.endPortId = endPortId;
	}

	/**
	 * Get the 目的港ID.
	 * 
	 * @return 目的港ID
	 */
	public String getEndPortId() {
		return this.endPortId;
	}

	/**
	 * Set the 开船时间.
	 * 
	 * @param sailDate
	 *            开船时间
	 */
	public void setSailDate(Date sailDate) {
		this.sailDate = sailDate;
	}

	/**
	 * Get the 开船时间.
	 * 
	 * @return 开船时间
	 */
	public Date getSailDate() {
		return this.sailDate;
	}

	/**
	 * Set the 到港时间.
	 * 
	 * @param arriveDate
	 *            到港时间
	 */
	public void setArriveDate(Date arriveDate) {
		this.arriveDate = arriveDate;
	}

	/**
	 * Get the 到港时间.
	 * 
	 * @return 到港时间
	 */
	public Date getArriveDate() {
		return this.arriveDate;
	}

	/**
	 * Set the 提单号.
	 * 
	 * @param billNo
	 *            提单号
	 */
	public void setBillNo(String billNo) {
		this.billNo = billNo;
	}

	/**
	 * Get the 提单号.
	 * 
	 * @return 提单号
	 */
	public String getBillNo() {
		return this.billNo;
	}

	/**
	 * Set the 箱号.
	 * 
	 * @param cntNo
	 *            箱号
	 */
	public void setCntNo(String cntNo) {
		this.cntNo = cntNo;
	}

	/**
	 * Get the 箱号.
	 * 
	 * @return 箱号
	 */
	public String getCntNo() {
		return this.cntNo;
	}

	/**
	 * Set the 封号.
	 * 
	 * @param sealNo
	 *            封号
	 */
	public void setSealNo(String sealNo) {
		this.sealNo = sealNo;
	}

	/**
	 * Get the 封号.
	 * 
	 * @return 封号
	 */
	public String getSealNo() {
		return this.sealNo;
	}

	/**
	 * Set the 箱属.
	 * 
	 * @param xsId
	 *            箱属
	 */
	public void setXsId(String xsId) {
		this.xsId = xsId;
	}

	/**
	 * Get the 箱属.
	 * 
	 * @return 箱属
	 */
	public String getXsId() {
		return this.xsId;
	}

	/**
	 * Set the 码头ID.
	 * 
	 * @param wharfId
	 *            码头ID
	 */
	public void setWharfId(String wharfId) {
		this.wharfId = wharfId;
	}

	/**
	 * Get the 码头ID.
	 * 
	 * @return 码头ID
	 */
	public String getWharfId() {
		return this.wharfId;
	}

	/**
	 * Set the 车队ID.
	 * 
	 * @param fleetId
	 *            车队ID
	 */
	public void setFleetId(String fleetId) {
		this.fleetId = fleetId;
	}

	/**
	 * Get the 车队ID.
	 * 
	 * @return 车队ID
	 */
	public String getFleetId() {
		return this.fleetId;
	}

	/**
	 * Set the 车辆ID.
	 * 
	 * @param carId
	 *            车辆ID
	 */
	public void setCarId(String carId) {
		this.carId = carId;
	}

	/**
	 * Get the 车辆ID.
	 * 
	 * @return 车辆ID
	 */
	public String getCarId() {
		return this.carId;
	}

	/**
	 * Set the 目的港车队ID.
	 * 
	 * @param destFleetId
	 *            目的港车队ID
	 */
	public void setDestFleetId(String destFleetId) {
		this.destFleetId = destFleetId;
	}

	/**
	 * Get the 目的港车队ID.
	 * 
	 * @return 目的港车队ID
	 */
	public String getDestFleetId() {
		return this.destFleetId;
	}

	/**
	 * Set the 目的港车辆ID.
	 * 
	 * @param destCarId
	 *            目的港车辆ID
	 */
	public void setDestCarId(String destCarId) {
		this.destCarId = destCarId;
	}

	/**
	 * Get the 目的港车辆ID.
	 * 
	 * @return 目的港车辆ID
	 */
	public String getDestCarId() {
		return this.destCarId;
	}

	/**
	 * Set the 是否双拖.
	 * 
	 * @param sfst
	 *            是否双拖
	 */
	public void setSfst(Integer sfst) {
		this.sfst = sfst;
	}

	/**
	 * Get the 是否双拖.
	 * 
	 * @return 是否双拖
	 */
	public Integer getSfst() {
		return this.sfst;
	}

	/**
	 * Set the 提单号2.
	 * 
	 * @param billNo2
	 *            提单号2
	 */
	public void setBillNo2(String billNo2) {
		this.billNo2 = billNo2;
	}

	/**
	 * Get the 提单号2.
	 * 
	 * @return 提单号2
	 */
	public String getBillNo2() {
		return this.billNo2;
	}

	/**
	 * Set the 箱号2.
	 * 
	 * @param cntNo2
	 *            箱号2
	 */
	public void setCntNo2(String cntNo2) {
		this.cntNo2 = cntNo2;
	}

	/**
	 * Get the 箱号2.
	 * 
	 * @return 箱号2
	 */
	public String getCntNo2() {
		return this.cntNo2;
	}

	/**
	 * Set the 封号2.
	 * 
	 * @param sealNo2
	 *            封号2
	 */
	public void setSealNo2(String sealNo2) {
		this.sealNo2 = sealNo2;
	}

	/**
	 * Get the 封号2.
	 * 
	 * @return 封号2
	 */
	public String getSealNo2() {
		return this.sealNo2;
	}

	/**
	 * Set the 提箱场站.
	 * 
	 * @param txcz
	 *            提箱场站
	 */
	public void setTxcz(String txcz) {
		this.txcz = txcz;
	}

	/**
	 * Get the 提箱场站.
	 * 
	 * @return 提箱场站
	 */
	public String getTxcz() {
		return this.txcz;
	}

	/**
	 * Set the 反箱场站.
	 * 
	 * @param fxcz
	 *            反箱场站
	 */
	public void setFxcz(String fxcz) {
		this.fxcz = fxcz;
	}

	/**
	 * Get the 反箱场站.
	 * 
	 * @return 反箱场站
	 */
	public String getFxcz() {
		return this.fxcz;
	}

	/**
	 * Set the 是否回单.
	 * 
	 * @param sfhd
	 *            是否回单
	 */
	public void setSfhd(Integer sfhd) {
		this.sfhd = sfhd;
	}

	/**
	 * Get the 是否回单.
	 * 
	 * @return 是否回单
	 */
	public Integer getSfhd() {
		return this.sfhd;
	}

	/**
	 * Set the 回单时间.
	 * 
	 * @param hdDate
	 *            回单时间
	 */
	public void setHdDate(Date hdDate) {
		this.hdDate = hdDate;
	}

	/**
	 * Get the 回单时间.
	 * 
	 * @return 回单时间
	 */
	public Date getHdDate() {
		return this.hdDate;
	}

	/**
	 * Set the 回单备注.
	 * 
	 * @param hdRemark
	 *            回单备注
	 */
	public void setHdRemark(String hdRemark) {
		this.hdRemark = hdRemark;
	}

	/**
	 * Get the 回单备注.
	 * 
	 * @return 回单备注
	 */
	public String getHdRemark() {
		return this.hdRemark;
	}

	/**
	 * Set the 订单状态.
	 * 
	 * @param status
	 *            订单状态
	 */
	public void setStatus(String status) {
		this.status = status;
	}

	/**
	 * Get the 订单状态.
	 * 
	 * @return 订单状态
	 */
	public String getStatus() {
		return this.status;
	}

	/**
	 * Set the 业务完结.
	 * 
	 * @param busEnd
	 *            业务完结
	 */
	public void setBusEnd(Integer busEnd) {
		this.busEnd = busEnd;
	}

	/**
	 * Get the 业务完结.
	 * 
	 * @return 业务完结
	 */
	public Integer getBusEnd() {
		return this.busEnd;
	}

	/**
	 * Set the 财务完结.
	 * 
	 * @param financeEnd
	 *            财务完结
	 */
	public void setFinanceEnd(Integer financeEnd) {
		this.financeEnd = financeEnd;
	}

	/**
	 * Get the 财务完结.
	 * 
	 * @return 财务完结
	 */
	public Integer getFinanceEnd() {
		return this.financeEnd;
	}

	public List<OrderSendReceive> getOrderSend() {
		return orderSend == null ? Collections.EMPTY_LIST : orderSend;
	}

	public void setOrderSend(List<OrderSendReceive> orderSend) {
		this.orderSend = orderSend;
	}

	public List<OrderSendReceive> getOrderReceive() {
		return orderReceive == null ? Collections.EMPTY_LIST : orderReceive;
	}

	public void setOrderReceive(List<OrderSendReceive> orderReceive) {
		this.orderReceive = orderReceive;
	}

	public Carrier getXs() {
		return xs;
	}

	public void setXs(Carrier xs) {
		this.xs = xs;
	}

	public Wharf getWharf() {
		return wharf;
	}

	public void setWharf(Wharf wharf) {
		this.wharf = wharf;
	}

	public Fleet getFleet() {
		return fleet;
	}

	public void setFleet(Fleet fleet) {
		this.fleet = fleet;
	}

	public Car getCar() {
		return car;
	}

	public void setCar(Car car) {
		this.car = car;
	}

	public Fleet getDestFleet() {
		return destFleet;
	}

	public void setDestFleet(Fleet destFleet) {
		this.destFleet = destFleet;
	}

	public Car getDestCar() {
		return destCar;
	}

	public void setDestCar(Car destCar) {
		this.destCar = destCar;
	}

	public List<OrderExpense> getReceiveExpense() {
		return receiveExpense == null ? Collections.EMPTY_LIST : receiveExpense;
	}

	public void setReceiveExpense(List<OrderExpense> receiveExpense) {
		this.receiveExpense = receiveExpense;
	}

	public List<OrderExpense> getPayExpense() {
		return payExpense == null ? Collections.EMPTY_LIST : payExpense;
	}

	public void setPayExpense(List<OrderExpense> payExpense) {
		this.payExpense = payExpense;
	}

	public List<OrderExpense> getCostExpense() {
		return costExpense == null ? Collections.EMPTY_LIST : costExpense;
	}

	public void setCostExpense(List<OrderExpense> costExpense) {
		this.costExpense = costExpense;
	}

	public Port getStartPort() {
		return startPort;
	}

	public String getTargetId() {
		return targetId;
	}

	public void setTargetId(String targetId) {
		this.targetId = targetId;
	}

	public void setStartPort(Port startPort) {
		this.startPort = startPort;
	}

	public Port getEndPort() {
		return endPort;
	}

	public void setEndPort(Port endPort) {
		this.endPort = endPort;
	}

	public String getAppendedId() {
		return appendedId;
	}

	public void setAppendedId(String appendedId) {
		this.appendedId = appendedId;
	}

	public Order getAppended() {
		return appended;
	}

	public void setAppended(Order appended) {
		this.appended = appended;
	}

	public String getBxgs() {
		return bxgs;
	}

	public void setBxgs(String bxgs) {
		this.bxgs = bxgs;
	}

	public String getCarNo() {
		return carNo;
	}

	public void setCarNo(String carNo) {
		this.carNo = carNo;
	}

	public String getDriverName() {
		return driverName;
	}

	public void setDriverName(String driverName) {
		this.driverName = driverName;
	}

	public String getDriverTel() {
		return driverTel;
	}

	public void setDriverTel(String driverTel) {
		this.driverTel = driverTel;
	}

	public String getDestCarNo() {
		return destCarNo;
	}

	public void setDestCarNo(String destCarNo) {
		this.destCarNo = destCarNo;
	}

	public String getDestDriverName() {
		return destDriverName;
	}

	public void setDestDriverName(String destDriverName) {
		this.destDriverName = destDriverName;
	}

	public String getDestDriverTel() {
		return destDriverTel;
	}

	public void setDestDriverTel(String destDriverTel) {
		this.destDriverTel = destDriverTel;
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((this.getId() == null) ? 0 : this.getId().hashCode());
		return result;
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public boolean equals(Object obj) {
		if (this == obj) {
			return true;
		}
		if (obj == null) {
			return false;
		}
		if (getClass() != obj.getClass()) {
			return false;
		}
		Order other = (Order) obj;
		if (this.getId() == null) {
			if (other.getId() != null) {
				return false;
			}
		} else if (!this.getId().equals(other.getId())) {
			return false;
		}
		return true;
	}

}
